home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Programming / Programming Languages / Harvest C / MPW Int & Lib / Interfaces / Files.h < prev    next >
Text File  |  1991-04-17  |  54KB  |  1,515 lines

  1. /************************************************************
  2.  
  3. Created: Tuesday, February 5, 1991 at 5:25 PM
  4.     Files.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1985-1990
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __FILES__
  15. #define __FILES__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21. #ifndef __OSUTILS__
  22. #include <OSUtils.h>
  23. #endif
  24.  
  25. #ifndef __SEGLOAD__
  26. #include <SegLoad.h>
  27. #endif
  28.  
  29.  
  30. enum {
  31.  
  32.  
  33. /* Finder Constants */
  34.     fsAtMark = 0,
  35.     fOnDesk = 1,
  36.     fsCurPerm = 0,
  37.     fHasBundle = 8192,
  38.     fsRdPerm = 1,
  39.     fInvisible = 16384,
  40.     fTrash = -3,
  41.     fsWrPerm = 2,
  42.     fDesktop = -2,
  43.     fsRdWrPerm = 3,
  44.     fDisk = 0,
  45.     fsRdWrShPerm = 4,
  46.     fsFromStart = 1,
  47.     fsFromLEOF = 2,
  48.     fsFromMark = 3,
  49.     rdVerify = 64,
  50.     ioDirFlg = 3,            /* see IM IV-125 */
  51.     ioDirMask = 0x10,
  52.     fsRtParID = 1,
  53.     fsRtDirID = 2
  54. };
  55. enum {
  56.  
  57. /* masks for SpecBits values */
  58.     fsSBPartialName = 1,
  59.     fsSBFullName = 2,
  60.     fsSBFlAttrib = 4,
  61.     fsSBFlFndrInfo = 8,
  62.     fsSBFlLgLen = 32,
  63.     fsSBFlPyLen = 64,
  64.     fsSBFlRLgLen = 128,
  65.     fsSBFlRPyLen = 256,
  66.     fsSBFlCrDat = 512,
  67.     fsSBFlMdDat = 1024,
  68.     fsSBFlBkDat = 2048,
  69.     fsSBFlXFndrInfo = 4096,
  70.     fsSBFlParID = 8192,
  71.     fsSBNegate = 16384,
  72.     fsSBDrUsrWds = 8,
  73.     fsSBDrNmFls = 16,
  74.     fsSBDrCrDat = 512,
  75.     fsSBDrMdDat = 1024,
  76.     fsSBDrBkDat = 2048,
  77.     fsSBDrFndrInfo = 4096
  78. };
  79. enum {
  80.     fsSBDrParID = 8192,
  81.  
  82. /* vMAttrib (GetVolParms) bit position constants */
  83.     bLimitFCBs = 31,
  84.     bLocalWList = 30,
  85.     bNoMiniFndr = 29,
  86.     bNoVNEdit = 28,
  87.     bNoLclSync = 27,
  88.     bTrshOffLine = 26,
  89.     bNoSwitchTo = 25,
  90.     bNoDeskItems = 20,
  91.     bNoBootBlks = 19,
  92.     bAccessCntl = 18,
  93.     bNoSysDir = 17,
  94.     bHasExtFSVol = 16,
  95.     bHasOpenDeny = 15,
  96.     bHasCopyFile = 14,
  97.     bHasMoveRename = 13,
  98.     bHasDesktopMgr = 12,
  99.     bHasShortName = 11,
  100.     bHasFolderLock = 10,
  101.     bHasPersonalAccessPrivileges = 9
  102. };
  103. enum {
  104.     bHasUserGroupList = 8,
  105.     bHasCatSearch = 7,
  106.     bHasFileIDs = 6,
  107.     bHasBTreeMgr = 5,
  108.     bHasBlankAccessPrivileges = 4,
  109.  
  110. /* Desktop Database icon Constants */
  111.     kLargeIcon = 1,
  112.     kLarge4BitIcon = 2,
  113.     kLarge8BitIcon = 3,
  114.     kSmallIcon = 4,
  115.     kSmall4BitIcon = 5,
  116.     kSmall8BitIcon = 6,
  117.  
  118.     kLargeIconSize = 256,
  119.     kLarge4BitIconSize = 512,
  120.     kLarge8BitIconSize = 1024,
  121.     kSmallIconSize = 64,
  122.     kSmall4BitIconSize = 128,
  123.     kSmall8BitIconSize = 256,
  124.  
  125. /* foreign privilege model identifiers */
  126.     fsUnixPriv = 1,
  127.  
  128. /* Version Release Stage Codes */
  129.     developStage = 0x20,
  130.     alphaStage = 0x40
  131. };
  132. enum {
  133.     betaStage = 0x60,
  134.     finalStage = 0x80,
  135.  
  136. /* Authentication Constants */
  137.     kNoUserAuthentication = 1,
  138.     kPassword = 2,
  139.     kEncryptPassword = 3,
  140.     kTwoWayEncryptPassword = 6
  141. };
  142.  
  143. enum {hFileInfo,dirInfo};
  144. typedef unsigned char CInfoType;
  145.  
  146.  
  147. struct FInfo {
  148.     OSType fdType;                      /*the type of the file*/
  149.     OSType fdCreator;                   /*file's creator*/
  150.     unsigned short fdFlags;             /*flags ex. hasbundle,invisible,locked, etc.*/
  151.     Point fdLocation;                   /*file's location in folder*/
  152.     short fdFldr;                       /*folder containing file*/
  153. };
  154.  
  155. typedef struct FInfo FInfo;
  156.  
  157. struct FXInfo {
  158.     short fdIconID;                     /* Icon ID*/
  159.     short fdUnused[3];                  /*unused but reserved 6 bytes*/
  160.     char fdScript;                      /* Script flag and number */
  161.     char fdXFlags;
  162.     short fdComment;                    /* Comment ID*/
  163.     long fdPutAway;                     /* Home Dir ID*/
  164. };
  165.  
  166. typedef struct FXInfo FXInfo;
  167.  
  168. struct DInfo {
  169.     Rect frRect;                        /*folder rect*/
  170.     unsigned short frFlags;             /*Flags*/
  171.     Point frLocation;                   /*folder location*/
  172.     short frView;                       /*folder view*/
  173. };
  174.  
  175. typedef struct DInfo DInfo;
  176.  
  177. struct DXInfo {
  178.     Point frScroll;                     /*scroll position*/
  179.     long frOpenChain;                   /*DirID chain of open folders*/
  180.     char frScript;                      /* Script flag and number */
  181.     char frXFlags;
  182.     short frComment;                    /*comment*/
  183.     long frPutAway;                     /*DirID*/
  184. };
  185.  
  186. typedef struct DXInfo DXInfo;
  187.  
  188. struct GetVolParmsInfoBuffer {
  189.     short vMVersion;                    /*version number*/
  190.     long vMAttrib;                      /*bit vector of attributes (see vMAttrib constants)*/
  191.     Handle vMLocalHand;                 /*handle to private data*/
  192.     long vMServerAdr;                   /*AppleTalk server address or zero*/
  193.     long vMVolumeGrade;                 /*approx. speed rating or zero if unrated*/
  194.     short vMForeignPrivID;              /*foreign privilege model supported or zero if none*/
  195. };
  196.  
  197. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  198.  
  199. #define ParamBlockHeader \
  200.     QElemPtr qLink;                     /*queue link in header*/\
  201.     short qType;                        /*type byte for safety check*/\
  202.     short ioTrap;                       /*FS: the Trap*/\
  203.     Ptr ioCmdAddr;                      /*FS: address to dispatch to*/\
  204.     ProcPtr ioCompletion;               /*completion routine addr (0 for synch calls)*/\
  205.     OSErr ioResult;                     /*result code*/\
  206.     StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/\
  207.     short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  208.  
  209.  
  210. struct IOParam {
  211.     ParamBlockHeader 
  212.     short ioRefNum;                     /*refNum for I/O operation*/
  213.     char ioVersNum;                     /*version number*/
  214.     char ioPermssn;                     /*Open: permissions (byte)*/
  215.     Ptr ioMisc;                         /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  216.     Ptr ioBuffer;                       /*data buffer Ptr*/
  217.     long ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  218.     long ioActCount;                    /*actual byte count completed*/
  219.     short ioPosMode;                    /*initial file positioning*/
  220.     long ioPosOffset;                   /*file position offset*/
  221. };
  222.  
  223. typedef struct IOParam IOParam;
  224.  
  225. struct FileParam {
  226.     ParamBlockHeader 
  227.     short ioFRefNum;                    /*reference number*/
  228.     char ioFVersNum;                    /*version number*/
  229.     char filler1;
  230.     short ioFDirIndex;                  /*GetFInfo directory index*/
  231.     unsigned char ioFlAttrib;           /*GetFInfo: in-use bit=7, lock bit=0*/
  232.     unsigned char ioFlVersNum;          /*file version number*/
  233.     FInfo ioFlFndrInfo;                 /*user info*/
  234.     unsigned long ioFlNum;              /*GetFInfo: file number; TF- ioDirID*/
  235.     unsigned short ioFlStBlk;           /*start file block (0 if none)*/
  236.     long ioFlLgLen;                     /*logical length (EOF)*/
  237.     long ioFlPyLen;                     /*physical length*/
  238.     unsigned short ioFlRStBlk;          /*start block rsrc fork*/
  239.     long ioFlRLgLen;                    /*file logical length rsrc fork*/
  240.     long ioFlRPyLen;                    /*file physical length rsrc fork*/
  241.     unsigned long ioFlCrDat;            /*file creation date& time (32 bits in secs)*/
  242.     unsigned long ioFlMdDat;            /*last modified date and time*/
  243. };
  244.  
  245. typedef struct FileParam FileParam;
  246.  
  247. struct VolumeParam {
  248.     ParamBlockHeader 
  249.     long filler2;
  250.     short ioVolIndex;                   /*volume index number*/
  251.     unsigned long ioVCrDate;            /*creation date and time*/
  252.     unsigned long ioVLsBkUp;            /*last backup date and time*/
  253.     unsigned short ioVAtrb;             /*volume attrib*/
  254.     unsigned short ioVNmFls;            /*number of files in directory*/
  255.     unsigned short ioVDirSt;            /*start block of file directory*/
  256.     short ioVBlLn;                      /*GetVolInfo: length of dir in blocks*/
  257.     unsigned short ioVNmAlBlks;         /*GetVolInfo: num blks (of alloc size)*/
  258.     long ioVAlBlkSiz;                   /*GetVolInfo: alloc blk byte size*/
  259.     long ioVClpSiz;                     /*GetVolInfo: bytes to allocate at a time*/
  260.     unsigned short ioAlBlSt;            /*starting disk(512-byte) block in block map*/
  261.     unsigned long ioVNxtFNum;           /*GetVolInfo: next free file number*/
  262.     unsigned short ioVFrBlk;            /*GetVolInfo: # free alloc blks for this vol*/
  263. };
  264.  
  265. typedef struct VolumeParam VolumeParam;
  266.  
  267. struct CntrlParam {
  268.     QElem *qLink;                       /*queue link in header*/
  269.     short qType;                        /*type byte for safety check*/
  270.     short ioTrap;                       /*FS: the Trap*/
  271.     Ptr ioCmdAddr;                      /*FS: address to dispatch to*/
  272.     ProcPtr ioCompletion;               /*completion routine addr (0 for synch calls)*/
  273.     OSErr ioResult;                     /*result code*/
  274.     StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/
  275.     short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  276.     short ioCRefNum;                    /*refNum for I/O operation*/
  277.     short csCode;                       /*word for control status code*/
  278.     short csParam[11];                  /*operation-defined parameters*/
  279. };
  280.  
  281. typedef struct CntrlParam CntrlParam;
  282.  
  283. struct SlotDevParam {
  284.     ParamBlockHeader 
  285.     short ioRefNum;
  286.     char ioVersNum;
  287.     char ioPermssn;
  288.     Ptr ioMix;
  289.     short ioFlags;
  290.     char ioSlot;
  291.     char ioID;
  292. };
  293.  
  294. typedef struct SlotDevParam SlotDevParam;
  295.  
  296. struct MultiDevParam {
  297.     ParamBlockHeader 
  298.     short ioRefNum;
  299.     char ioVersNum;
  300.     char ioPermssn;
  301.     Ptr ioMix;
  302.     short ioFlags;
  303.     Ptr ioSEBlkPtr;
  304. };
  305.  
  306. typedef struct MultiDevParam MultiDevParam;
  307.  
  308. union ParamBlockRec {
  309.     IOParam ioParam;
  310.     FileParam fileParam;
  311.     VolumeParam volumeParam;
  312.     CntrlParam cntrlParam;
  313.     SlotDevParam slotDevParam;
  314.     MultiDevParam multiDevParam;
  315. };
  316.  
  317. typedef union ParamBlockRec ParamBlockRec;
  318. typedef ParamBlockRec *ParmBlkPtr;
  319.  
  320. struct HFileInfo {
  321.     ParamBlockHeader 
  322.     short ioFRefNum;
  323.     char ioFVersNum;
  324.     char filler1;
  325.     short ioFDirIndex;
  326.     char ioFlAttrib;
  327.     char filler2;
  328.     FInfo ioFlFndrInfo;
  329.     long ioDirID;
  330.     unsigned short ioFlStBlk;
  331.     long ioFlLgLen;
  332.     long ioFlPyLen;
  333.     unsigned short ioFlRStBlk;
  334.     long ioFlRLgLen;
  335.     long ioFlRPyLen;
  336.     unsigned long ioFlCrDat;
  337.     unsigned long ioFlMdDat;
  338.     unsigned long ioFlBkDat;
  339.     FXInfo ioFlXFndrInfo;
  340.     long ioFlParID;
  341.     long ioFlClpSiz;
  342. };
  343.  
  344. typedef struct HFileInfo HFileInfo;
  345.  
  346. struct DirInfo {
  347.     ParamBlockHeader 
  348.     short ioFRefNum;
  349.     short filler1;
  350.     short ioFDirIndex;
  351.     char ioFlAttrib;
  352.     char filler2;
  353.     DInfo ioDrUsrWds;
  354.     long ioDrDirID;
  355.     unsigned short ioDrNmFls;
  356.     short filler3[9];
  357.     unsigned long ioDrCrDat;
  358.     unsigned long ioDrMdDat;
  359.     unsigned long ioDrBkDat;
  360.     DXInfo ioDrFndrInfo;
  361.     long ioDrParID;
  362. };
  363.  
  364. typedef struct DirInfo DirInfo;
  365.  
  366. union CInfoPBRec {
  367.     HFileInfo hFileInfo;
  368.     DirInfo dirInfo;
  369. };
  370.  
  371. typedef union CInfoPBRec CInfoPBRec;
  372. typedef CInfoPBRec *CInfoPBPtr;
  373.  
  374. struct HIOParam {
  375.     ParamBlockHeader 
  376.     short ioRefNum;
  377.     char ioVersNum;
  378.     char ioPermssn;
  379.     Ptr ioMisc;
  380.     Ptr ioBuffer;
  381.     long ioReqCount;
  382.     long ioActCount;
  383.     short ioPosMode;
  384.     long ioPosOffset;
  385.     short filler1;
  386. };
  387.  
  388. typedef struct HIOParam HIOParam;
  389.  
  390. struct HFileParam {
  391.     ParamBlockHeader 
  392.     short ioFRefNum;
  393.     char ioFVersNum;
  394.     char filler1;
  395.     short ioFDirIndex;
  396.     char ioFlAttrib;
  397.     char ioFlVersNum;
  398.     FInfo ioFlFndrInfo;
  399.     long ioDirID;
  400.     unsigned short ioFlStBlk;
  401.     long ioFlLgLen;
  402.     long ioFlPyLen;
  403.     unsigned short ioFlRStBlk;
  404.     long ioFlRLgLen;
  405.     long ioFlRPyLen;
  406.     unsigned long ioFlCrDat;
  407.     unsigned long ioFlMdDat;
  408. };
  409.  
  410. typedef struct HFileParam HFileParam;
  411.  
  412. struct HVolumeParam {
  413.     ParamBlockHeader 
  414.     long filler2;
  415.     short ioVolIndex;
  416.     unsigned long ioVCrDate;
  417.     unsigned long ioVLsMod;
  418.     short ioVAtrb;
  419.     unsigned short ioVNmFls;
  420.     short ioVBitMap;
  421.     short ioAllocPtr;
  422.     unsigned short ioVNmAlBlks;
  423.     long ioVAlBlkSiz;
  424.     long ioVClpSiz;
  425.     short ioAlBlSt;
  426.     long ioVNxtCNID;
  427.     unsigned short ioVFrBlk;
  428.     unsigned short ioVSigWord;
  429.     short ioVDrvInfo;
  430.     short ioVDRefNum;
  431.     short ioVFSID;
  432.     unsigned long ioVBkUp;
  433.     unsigned short ioVSeqNum;
  434.     long ioVWrCnt;
  435.     long ioVFilCnt;
  436.     long ioVDirCnt;
  437.     long ioVFndrInfo[8];
  438. };
  439.  
  440. typedef struct HVolumeParam HVolumeParam;
  441.  
  442. struct AccessParam {
  443.     ParamBlockHeader 
  444.     short filler3;
  445.     short ioDenyModes;                  /*access rights data*/
  446.     short filler4;
  447.     char filler5;
  448.     char ioACUser;                      /*access rights for directory only*/
  449.     long filler6;
  450.     long ioACOwnerID;                   /*owner ID*/
  451.     long ioACGroupID;                   /*group ID*/
  452.     long ioACAccess;                    /*access rights*/
  453. };
  454.  
  455. typedef struct AccessParam AccessParam;
  456.  
  457. struct ObjParam {
  458.     ParamBlockHeader 
  459.     short filler7;
  460.     short ioObjType;                    /*function code*/
  461.     StringPtr ioObjNamePtr;             /*ptr to returned creator/group name*/
  462.     long ioObjID;                       /*creator/group ID*/
  463.     long ioReqCount;                    /*size of buffer area*/
  464.     long ioActCount;                    /*length of vol parms data*/
  465. };
  466.  
  467. typedef struct ObjParam ObjParam;
  468.  
  469. struct CopyParam {
  470.     ParamBlockHeader 
  471.     short ioDstVRefNum;                 /*destination vol identifier*/
  472.     short filler8;
  473.     StringPtr ioNewName;                /*ptr to destination pathname*/
  474.     StringPtr ioCopyName;               /*ptr to optional name*/
  475.     long ioNewDirID;                    /*destination directory ID*/
  476.     long filler14;
  477.     long filler15;
  478.     long ioDirID;                       /*same as in FileParam*/
  479. };
  480.  
  481. typedef struct CopyParam CopyParam;
  482.  
  483. struct WDParam {
  484.     ParamBlockHeader 
  485.     short filler9;
  486.     short ioWDIndex;
  487.     long ioWDProcID;
  488.     short ioWDVRefNum;
  489.     short filler10;
  490.     long filler11;
  491.     long filler12;
  492.     long filler13;
  493.     long ioWDDirID;
  494. };
  495.  
  496. typedef struct WDParam WDParam;
  497.  
  498. /* Catalog position record */
  499. struct FIDParam {
  500.     ParamBlockHeader 
  501.     long filler1;
  502.     StringPtr ioDestNamePtr;            /* dest file name */
  503.     long filler2;
  504.     long ioDestDirID;                   /* dest file's directory id */
  505.     long filler3;
  506.     long filler4;
  507.     long ioSrcDirID;                    /* source file's directory id */
  508.     short filler5;
  509.     long ioFileID;                      /* file ID */
  510. };
  511.  
  512. typedef struct FIDParam FIDParam;
  513.  
  514. struct CatPositionRec {
  515.     long initialize;
  516.     short priv[6];
  517. };
  518.  
  519. typedef struct CatPositionRec CatPositionRec;
  520.  
  521. struct FSSpec {
  522.     short vRefNum;
  523.     long parID;
  524.     Str63 name;
  525. };
  526.  
  527. typedef struct FSSpec FSSpec;
  528. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  529.  
  530. typedef FSSpecPtr FSSpecArrayPtr;       /* pointer to array of FSSpecs */
  531.  
  532.  
  533. /*    The following are structures to be filled out with the _GetVolMountInfo call
  534.     and passed back into the _VolumeMount call for external file system mounts.*/
  535.  
  536. typedef OSType VolumeType;
  537.  
  538.  
  539.  
  540.  
  541. #define AppleShareMediaType 'afpm'      /* the signature for AppleShare */
  542.  
  543. struct VolMountInfoHeader {
  544.     short length;                       /* length of location data (including self) */
  545.     VolumeType media;                   /* type of media. variable length data follows */                    
  546. };
  547.  
  548. typedef struct VolMountInfoHeader VolMountInfoHeader;
  549. typedef VolMountInfoHeader *VolMountInfoPtr;
  550.  
  551. struct AFPVolMountInfo {
  552.     short length;                       /* length of location data (including self) */
  553.     VolumeType media;                   /* type of media */
  554.     short flags;                        /* bits for no messages, no reconnect */
  555.     char nbpInterval;                   /* NBP Interval parameter (IM2, p.322) */
  556.     char nbpCount;                      /* NBP Interval parameter (IM2, p.322) */
  557.     short uamType;                      /* User Authentication Method */
  558.     short zoneNameOffset;               /* short positive offset from start of struct to Zone Name */
  559.     short serverNameOffset;             /* offset to pascal Server Name string */
  560.     short volNameOffset;                /* offset to pascal Volume Name string */
  561.     short userNameOffset;               /* offset to pascal User Name string */
  562.     short userPasswordOffset;           /* offset to pascal User Password string */
  563.     short volPasswordOffset;            /* offset to pascal Volume Password string */
  564.     char AFPData[144];                    /* variable length data may follow */                    
  565. };
  566.  
  567. typedef struct AFPVolMountInfo AFPVolMountInfo;
  568. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  569.  
  570. struct CSParam {
  571.     ParamBlockHeader 
  572.     FSSpecPtr ioMatchPtr;               /* match array */
  573.     long ioReqMatchCount;               /* maximum allowable matches */
  574.     long ioActMatchCount;               /* actual match count */
  575.     long ioSearchBits;                  /* search criteria selector */
  576.     CInfoPBPtr ioSearchInfo1;           /* search values and range lower bounds */
  577.     CInfoPBPtr ioSearchInfo2;           /* search values and range upper bounds */
  578.     long ioSearchTime;                  /* length of time to run search */
  579.     CatPositionRec ioCatPosition;       /* current position in the catalog */
  580.     Ptr ioOptBuffer;                    /* optional performance enhancement buffer */
  581.     long ioOptBufSize;                  /* size of buffer pointed to by ioOptBuffer */
  582. };
  583.  
  584. typedef struct CSParam CSParam;
  585. typedef CSParam *CSParamPtr;
  586.  
  587. struct DTPBRec {
  588.     ParamBlockHeader 
  589.     short ioDTRefNum;                   /* desktop refnum */
  590.     short ioIndex;
  591.     long ioTagInfo;
  592.     Ptr ioDTBuffer;
  593.     long ioDTReqCount;
  594.     long ioDTActCount;
  595.     char ioFiller1;
  596.     char ioIconType;
  597.     short ioFiller2;
  598.     long ioDirID;
  599.     OSType ioFileCreator;
  600.     OSType ioFileType;
  601.     long ioFiller3;
  602.     long ioDTLgLen;
  603.     long ioDTPyLen;
  604.     short ioFiller4[14];
  605.     long ioAPPLParID;
  606. };
  607.  
  608. typedef struct DTPBRec DTPBRec;
  609. typedef DTPBRec *DTPBPtr;
  610.  
  611. struct ForeignPrivParam {
  612.     ParamBlockHeader 
  613.     long ioFiller1;
  614.     long ioFiller2;
  615.     Ptr ioForeignPrivBuffer;
  616.     long ioForeignPrivActCount;
  617.     long ioForeignPrivReqCount;
  618.     long ioFiller3;
  619.     long ioForeignPrivDirID;
  620.     long ioForeignPrivInfo1;
  621.     long ioForeignPrivInfo2;
  622.     long ioForeignPrivInfo3;
  623.     long ioForeignPrivInfo4;
  624. };
  625.  
  626. typedef struct ForeignPrivParam ForeignPrivParam;
  627. typedef ForeignPrivParam *ForeignPrivParamPtr;
  628.  
  629. union HParamBlockRec {
  630.     HIOParam ioParam;
  631.     HFileParam fileParam;
  632.     HVolumeParam volumeParam;
  633.     AccessParam accessParam;
  634.     ObjParam objParam;
  635.     CopyParam copyParam;
  636.     WDParam wdParam;
  637.     FIDParam fidParam;
  638.     CSParam csParam;
  639.     ForeignPrivParam foreignPrivParam;
  640. };
  641.  
  642. typedef union HParamBlockRec HParamBlockRec;
  643. typedef HParamBlockRec *HParmBlkPtr;
  644.  
  645. struct CMovePBRec {
  646.     QElemPtr qLink;
  647.     short qType;
  648.     short ioTrap;
  649.     Ptr ioCmdAddr;
  650.     ProcPtr ioCompletion;
  651.     OSErr ioResult;
  652.     StringPtr ioNamePtr;
  653.     short ioVRefNum;
  654.     long filler1;
  655.     StringPtr ioNewName;
  656.     long filler2;
  657.     long ioNewDirID;
  658.     long filler3[2];
  659.     long ioDirID;
  660. };
  661.  
  662. typedef struct CMovePBRec CMovePBRec;
  663. typedef CMovePBRec *CMovePBPtr;
  664.  
  665. struct WDPBRec {
  666.     QElemPtr qLink;
  667.     short qType;
  668.     short ioTrap;
  669.     Ptr ioCmdAddr;
  670.     ProcPtr ioCompletion;
  671.     OSErr ioResult;
  672.     StringPtr ioNamePtr;
  673.     short ioVRefNum;
  674.     short filler1;
  675.     short ioWDIndex;
  676.     long ioWDProcID;
  677.     short ioWDVRefNum;
  678.     short filler2[7];
  679.     long ioWDDirID;
  680. };
  681.  
  682. typedef struct WDPBRec WDPBRec;
  683. typedef WDPBRec *WDPBPtr;
  684.  
  685. struct FCBPBRec {
  686.     QElemPtr qLink;
  687.     short qType;
  688.     short ioTrap;
  689.     Ptr ioCmdAddr;
  690.     ProcPtr ioCompletion;
  691.     OSErr ioResult;
  692.     StringPtr ioNamePtr;
  693.     short ioVRefNum;
  694.     short ioRefNum;
  695.     short filler;
  696.     short ioFCBIndx;
  697.     short filler1;
  698.     long ioFCBFlNm;
  699.     short ioFCBFlags;
  700.     unsigned short ioFCBStBlk;
  701.     long ioFCBEOF;
  702.     long ioFCBPLen;
  703.     long ioFCBCrPs;
  704.     short ioFCBVRefNum;
  705.     long ioFCBClpSiz;
  706.     long ioFCBParID;
  707. };
  708.  
  709. typedef struct FCBPBRec FCBPBRec;
  710. typedef FCBPBRec *FCBPBPtr;
  711.  
  712. struct VCB {
  713.     QElemPtr qLink;
  714.     short qType;
  715.     short vcbFlags;
  716.     unsigned short vcbSigWord;
  717.     unsigned long vcbCrDate;
  718.     unsigned long vcbLsMod;
  719.     short vcbAtrb;
  720.     unsigned short vcbNmFls;
  721.     short vcbVBMSt;
  722.     short vcbAllocPtr;
  723.     unsigned short vcbNmAlBlks;
  724.     long vcbAlBlkSiz;
  725.     long vcbClpSiz;
  726.     short vcbAlBlSt;
  727.     long vcbNxtCNID;
  728.     unsigned short vcbFreeBks;
  729.     Str27 vcbVN;
  730.     short vcbDrvNum;
  731.     short vcbDRefNum;
  732.     short vcbFSID;
  733.     short vcbVRefNum;
  734.     Ptr vcbMAdr;
  735.     Ptr vcbBufAdr;
  736.     short vcbMLen;
  737.     short vcbDirIndex;
  738.     short vcbDirBlk;
  739.     unsigned long vcbVolBkUp;
  740.     unsigned short vcbVSeqNum;
  741.     long vcbWrCnt;
  742.     long vcbXTClpSiz;
  743.     long vcbCTClpSiz;
  744.     unsigned short vcbNmRtDirs;
  745.     long vcbFilCnt;
  746.     long vcbDirCnt;
  747.     long vcbFndrInfo[8];
  748.     unsigned short vcbVCSize;
  749.     unsigned short vcbVBMCSiz;
  750.     unsigned short vcbCtlCSiz;
  751.     unsigned short vcbXTAlBlks;
  752.     unsigned short vcbCTAlBlks;
  753.     short vcbXTRef;
  754.     short vcbCTRef;
  755.     Ptr vcbCtlBuf;
  756.     long vcbDirIDM;
  757.     short vcbOffsM;
  758. };
  759.  
  760. typedef struct VCB VCB;
  761.  
  762. struct DrvQEl {
  763.     QElemPtr qLink;
  764.     short qType;
  765.     short dQDrive;
  766.     short dQRefNum;
  767.     short dQFSID;
  768.     unsigned short dQDrvSz;
  769.     unsigned short dQDrvSz2;
  770. };
  771.  
  772. typedef struct DrvQEl DrvQEl;
  773. typedef DrvQEl *DrvQElPtr;
  774.  
  775. /*Numeric version part of 'vers' resource*/
  776. struct NumVersion {
  777.     unsigned char majorRev;             /*1st part of version number in BCD*/
  778.     unsigned int minorRev : 4;          /*2nd part is 1 nibble in BCD*/
  779.     unsigned int bugFixRev : 4;         /*3rd part is 1 nibble in BCD*/
  780.     unsigned char stage;                /*stage code: dev, alpha, beta, final*/
  781.     unsigned char nonRelRev;            /*revision level of non-released version*/
  782. };
  783.  
  784. typedef struct NumVersion NumVersion;
  785.  
  786. /*'vers' resource format*/
  787. struct VersRec {
  788.     NumVersion numericVersion;          /*encoded version number*/
  789.     short countryCode;                  /*country code from intl utilities*/
  790.     Str255 shortVersion;                /*version number string - worst case*/
  791.     Str255 reserved;                    /*longMessage string packed after shortVersion*/
  792. };
  793.  
  794. typedef struct VersRec VersRec;
  795. typedef VersRec *VersRecPtr, **VersRecHndl;
  796.  
  797.  
  798. #ifdef __cplusplus
  799. extern "C" {
  800. #endif
  801. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  802. #pragma parameter __D0 PBOpenSync(__A0)
  803. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  804.     = 0xA000; 
  805. #pragma parameter __D0 PBOpenAsync(__A0)
  806. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  807.     = 0xA400; 
  808. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  809. #pragma parameter __D0 PBCloseSync(__A0)
  810. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  811.     = 0xA001; 
  812. #pragma parameter __D0 PBCloseAsync(__A0)
  813. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  814.     = 0xA401; 
  815. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  816. #pragma parameter __D0 PBReadSync(__A0)
  817. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  818.     = 0xA002; 
  819. #pragma parameter __D0 PBReadAsync(__A0)
  820. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  821.     = 0xA402; 
  822. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  823. #pragma parameter __D0 PBWriteSync(__A0)
  824. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  825.     = 0xA003; 
  826. #pragma parameter __D0 PBWriteAsync(__A0)
  827. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  828.     = 0xA403; 
  829. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  830. #pragma parameter __D0 PBGetVInfoSync(__A0)
  831. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  832.     = 0xA007; 
  833. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  834. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  835.     = 0xA407; 
  836. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  837. #pragma parameter __D0 PBGetVolSync(__A0)
  838. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  839.     = 0xA014; 
  840. #pragma parameter __D0 PBGetVolAsync(__A0)
  841. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  842.     = 0xA414; 
  843. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  844. #pragma parameter __D0 PBSetVolSync(__A0)
  845. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  846.     = 0xA015; 
  847. #pragma parameter __D0 PBSetVolAsync(__A0)
  848. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  849.     = 0xA415; 
  850. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  851. #pragma parameter __D0 PBFlushVolSync(__A0)
  852. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  853.     = 0xA013; 
  854. #pragma parameter __D0 PBFlushVolAsync(__A0)
  855. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  856.     = 0xA413; 
  857. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  858. #pragma parameter __D0 PBCreateSync(__A0)
  859. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  860.     = 0xA008; 
  861. #pragma parameter __D0 PBCreateAsync(__A0)
  862. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  863.     = 0xA408; 
  864. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  865. #pragma parameter __D0 PBDeleteSync(__A0)
  866. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  867.     = 0xA009; 
  868. #pragma parameter __D0 PBDeleteAsync(__A0)
  869. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  870.     = 0xA409; 
  871. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  872. #pragma parameter __D0 PBOpenDFSync(__A0)
  873. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  874.     = {0x701A,0xA060}; 
  875. #pragma parameter __D0 PBOpenDFAsync(__A0)
  876. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  877.     = {0x701A,0xA460}; 
  878. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  879. #pragma parameter __D0 PBOpenRFSync(__A0)
  880. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  881.     = 0xA00A; 
  882. #pragma parameter __D0 PBOpenRFAsync(__A0)
  883. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  884.     = 0xA40A; 
  885. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  886. #pragma parameter __D0 PBRenameSync(__A0)
  887. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  888.     = 0xA00B; 
  889. #pragma parameter __D0 PBRenameAsync(__A0)
  890. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  891.     = 0xA40B; 
  892. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  893. #pragma parameter __D0 PBGetFInfoSync(__A0)
  894. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  895.     = 0xA00C; 
  896. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  897. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  898.     = 0xA40C; 
  899. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  900. #pragma parameter __D0 PBSetFInfoSync(__A0)
  901. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  902.     = 0xA00D; 
  903. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  904. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  905.     = 0xA40D; 
  906. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  907. #pragma parameter __D0 PBSetFLockSync(__A0)
  908. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  909.     = 0xA041; 
  910. #pragma parameter __D0 PBSetFLockAsync(__A0)
  911. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  912.     = 0xA441; 
  913. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  914. #pragma parameter __D0 PBRstFLockSync(__A0)
  915. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  916.     = 0xA042; 
  917. #pragma parameter __D0 PBRstFLockAsync(__A0)
  918. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  919.     = 0xA442; 
  920. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  921. #pragma parameter __D0 PBSetFVersSync(__A0)
  922. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  923.     = 0xA043; 
  924. #pragma parameter __D0 PBSetFVersAsync(__A0)
  925. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  926.     = 0xA443; 
  927. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  928. #pragma parameter __D0 PBAllocateSync(__A0)
  929. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  930.     = 0xA010; 
  931. #pragma parameter __D0 PBAllocateAsync(__A0)
  932. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  933.     = 0xA410; 
  934. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  935. #pragma parameter __D0 PBGetEOFSync(__A0)
  936. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  937.     = 0xA011; 
  938. #pragma parameter __D0 PBGetEOFAsync(__A0)
  939. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  940.     = 0xA411; 
  941. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  942. #pragma parameter __D0 PBSetEOFSync(__A0)
  943. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  944.     = 0xA012; 
  945. #pragma parameter __D0 PBSetEOFAsync(__A0)
  946. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  947.     = 0xA412; 
  948. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  949. #pragma parameter __D0 PBGetFPosSync(__A0)
  950. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  951.     = 0xA018; 
  952. #pragma parameter __D0 PBGetFPosAsync(__A0)
  953. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  954.     = 0xA418; 
  955. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  956. #pragma parameter __D0 PBSetFPosSync(__A0)
  957. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  958.     = 0xA044; 
  959. #pragma parameter __D0 PBSetFPosAsync(__A0)
  960. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  961.     = 0xA444; 
  962. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  963. #pragma parameter __D0 PBFlushFileSync(__A0)
  964. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  965.     = 0xA045; 
  966. #pragma parameter __D0 PBFlushFileAsync(__A0)
  967. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  968.     = 0xA445; 
  969. #pragma parameter __D0 PBMountVol(__A0)
  970. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  971.     = 0xA00F; 
  972. #pragma parameter __D0 PBUnmountVol(__A0)
  973. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  974.     = 0xA00E; 
  975. #pragma parameter __D0 PBEject(__A0)
  976. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  977.     = 0xA017; 
  978. #pragma parameter __D0 PBOffLine(__A0)
  979. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  980.     = 0xA035; 
  981. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  982. #pragma parameter __D0 PBCatSearchSync(__A0)
  983. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  984.     = {0x7018,0xA260}; 
  985. #pragma parameter __D0 PBCatSearchAsync(__A0)
  986. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  987.     = {0x7018,0xA660}; 
  988. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  989. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short *refNum); 
  990. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  991. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  992. pascal OSErr FSClose(short refNum); 
  993. pascal OSErr FSRead(short refNum,long *count,void *buffPtr); 
  994. pascal OSErr FSWrite(short refNum,long *count,const void *buffPtr); 
  995. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short *vRefNum,long *freeBytes); 
  996. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  997. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo *fndrInfo); 
  998. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  999. pascal OSErr GetVol(StringPtr volName,short *vRefNum); 
  1000. OSErr getvol(char *volName,short *vRefNum); 
  1001. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  1002. OSErr setvol(char *volName,short vRefNum); 
  1003. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  1004. OSErr unmountvol(char *volName,short vRefNum); 
  1005. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  1006. OSErr eject(char *volName,short vRefNum); 
  1007. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  1008. OSErr flushvol(char *volName,short vRefNum); 
  1009. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  1010.     OSType fileType); 
  1011. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  1012. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  1013. OSErr fsdelete(char *fileName,short vRefNum); 
  1014. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  1015. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  1016. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  1017. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  1018. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo *fndrInfo); 
  1019. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1020. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  1021. OSErr setflock(char *fileName,short vRefNum); 
  1022. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  1023. OSErr rstflock(char *fileName,short vRefNum); 
  1024. pascal OSErr Allocate(short refNum,long *count); 
  1025. pascal OSErr GetEOF(short refNum,long *logEOF); 
  1026. pascal OSErr SetEOF(short refNum,long logEOF); 
  1027. pascal OSErr GetFPos(short refNum,long *filePos); 
  1028. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  1029. pascal OSErr GetVRefNum(short fileRefNum,short *vRefNum); 
  1030. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  1031. #pragma parameter __D0 PBOpenWDSync(__A0)
  1032. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1033.     = {0x7001,0xA260}; 
  1034. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1035. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1036.     = {0x7001,0xA660}; 
  1037. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  1038. #pragma parameter __D0 PBCloseWDSync(__A0)
  1039. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1040.     = {0x7002,0xA260}; 
  1041. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1042. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1043.     = {0x7002,0xA660}; 
  1044. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  1045. #pragma parameter __D0 PBHSetVolSync(__A0)
  1046. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1047.     = 0xA215; 
  1048. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1049. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1050.     = 0xA615; 
  1051. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  1052. #pragma parameter __D0 PBHGetVolSync(__A0)
  1053. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1054.     = 0xA214; 
  1055. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1056. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1057.     = 0xA614; 
  1058. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  1059. #pragma parameter __D0 PBCatMoveSync(__A0)
  1060. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1061.     = {0x7005,0xA260}; 
  1062. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1063. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1064.     = {0x7005,0xA660}; 
  1065. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  1066. #pragma parameter __D0 PBDirCreateSync(__A0)
  1067. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1068.     = {0x7006,0xA260}; 
  1069. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1070. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1071.     = {0x7006,0xA660}; 
  1072. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  1073. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1074. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1075.     = {0x7007,0xA260}; 
  1076. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1077. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1078.     = {0x7007,0xA660}; 
  1079. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  1080. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1081. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1082.     = {0x7008,0xA260}; 
  1083. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1084. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1085.     = {0x7008,0xA660}; 
  1086. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1087. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1088. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1089.     = {0x7009,0xA260}; 
  1090. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1091. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1092.     = {0x7009,0xA660}; 
  1093. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1094. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1095. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1096.     = {0x700A,0xA260}; 
  1097. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1098. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1099.     = {0x700A,0xA660}; 
  1100. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  1101. #pragma parameter __D0 PBAllocContigSync(__A0)
  1102. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1103.     = 0xA210; 
  1104. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1105. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1106.     = 0xA610; 
  1107. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  1108. #pragma parameter __D0 PBLockRangeSync(__A0)
  1109. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1110.     = {0x7010,0xA260}; 
  1111. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1112. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1113.     = {0x7010,0xA660}; 
  1114. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  1115. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1116. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1117.     = {0x7011,0xA260}; 
  1118. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1119. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1120.     = {0x7011,0xA660}; 
  1121. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1122. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1123. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1124.     = {0x700B,0xA260}; 
  1125. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1126. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1127.     = {0x700B,0xA660}; 
  1128. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1129. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1130. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1131.     = 0xA207; 
  1132. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1133. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1134.     = 0xA607; 
  1135. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  1136. #pragma parameter __D0 PBHOpenSync(__A0)
  1137. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1138.     = 0xA200; 
  1139. #pragma parameter __D0 PBHOpenAsync(__A0)
  1140. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1141.     = 0xA600; 
  1142. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  1143. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1144. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1145.     = 0xA20A; 
  1146. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1147. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1148.     = 0xA60A; 
  1149. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  1150. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1151. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1152.     = {0x701A,0xA260}; 
  1153. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1154. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1155.     = {0x701A,0xA660}; 
  1156. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  1157. #pragma parameter __D0 PBHCreateSync(__A0)
  1158. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1159.     = 0xA208; 
  1160. #pragma parameter __D0 PBHCreateAsync(__A0)
  1161. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1162.     = 0xA608; 
  1163. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  1164. #pragma parameter __D0 PBHDeleteSync(__A0)
  1165. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1166.     = 0xA209; 
  1167. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1168. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1169.     = 0xA609; 
  1170. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  1171. #pragma parameter __D0 PBHRenameSync(__A0)
  1172. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1173.     = 0xA20B; 
  1174. #pragma parameter __D0 PBHRenameAsync(__A0)
  1175. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1176.     = 0xA60B; 
  1177. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  1178. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1179. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1180.     = 0xA242; 
  1181. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1182. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1183.     = 0xA642; 
  1184. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  1185. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1186. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1187.     = 0xA241; 
  1188. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1189. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1190.     = 0xA641; 
  1191. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1192. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1193. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1194.     = 0xA20C; 
  1195. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1196. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1197.     = 0xA60C; 
  1198. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1199. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1200. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1201.     = 0xA20D; 
  1202. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1203. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1204.     = 0xA60D; 
  1205. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  1206. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1207. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1208.     = {0x701B,0xA260}; 
  1209. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1210. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1211.     = {0x701B,0xA660}; 
  1212. pascal void FInitQueue(void)
  1213.     = 0xA016; 
  1214. #define GetFSQHdr() ((QHdrPtr) 0x0360)
  1215. #define GetDrvQHdr() ((QHdrPtr) 0x0308)
  1216. #define GetVCBQHdr() ((QHdrPtr) 0x0356)
  1217. pascal OSErr HGetVol(StringPtr volName,short *vRefNum,long *dirID); 
  1218. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  1219. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  1220.     short *refNum); 
  1221. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  1222.     char permission,short *refNum); 
  1223. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  1224.     char permission,short *refNum); 
  1225. pascal OSErr AllocContig(short refNum,long *count); 
  1226. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  1227.     OSType creator,OSType fileType); 
  1228. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  1229.     long *createdDirID); 
  1230. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  1231. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1232.     FInfo *fndrInfo); 
  1233. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1234.     const FInfo *fndrInfo); 
  1235. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1236. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1237. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  1238.     ConstStr255Param newName); 
  1239. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  1240.     long newDirID,ConstStr255Param newName); 
  1241. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short *wdRefNum); 
  1242. pascal OSErr CloseWD(short wdRefNum); 
  1243. pascal OSErr GetWDInfo(short wdRefNum,short *vRefNum,long *dirID,long *procID); 
  1244. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  1245. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1246. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1247.     = {0x7030,0xA260}; 
  1248. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1249. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1250.     = {0x7030,0xA660}; 
  1251. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  1252. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1253. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1254.     = {0x7031,0xA260}; 
  1255. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1256. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1257.     = {0x7031,0xA660}; 
  1258. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1259. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1260. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1261.     = {0x7032,0xA260}; 
  1262. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1263. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1264.     = {0x7032,0xA660}; 
  1265. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1266. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1267. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1268.     = {0x7033,0xA260}; 
  1269. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1270. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1271.     = {0x7033,0xA660}; 
  1272. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  1273. #pragma parameter __D0 PBHMapIDSync(__A0)
  1274. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1275.     = {0x7034,0xA260}; 
  1276. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1277. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1278.     = {0x7034,0xA660}; 
  1279. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  1280. #pragma parameter __D0 PBHMapNameSync(__A0)
  1281. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1282.     = {0x7035,0xA260}; 
  1283. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1284. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1285.     = {0x7035,0xA660}; 
  1286. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  1287. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1288. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1289.     = {0x7036,0xA260}; 
  1290. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1291. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1292.     = {0x7036,0xA660}; 
  1293. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  1294. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1295. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1296.     = {0x7037,0xA260}; 
  1297. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1298. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1299.     = {0x7037,0xA660}; 
  1300. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  1301. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1302. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1303.     = {0x7038,0xA260}; 
  1304. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1305. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1306.     = {0x7038,0xA660}; 
  1307. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  1308. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1309. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1310.     = {0x7039,0xA260}; 
  1311. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1312. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1313.     = {0x7039,0xA660}; 
  1314. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  1315. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1316. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1317.     = {0x7017,0xA260}; 
  1318. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1319. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1320.     = {0x7017,0xA660}; 
  1321. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1322. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1323. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1324.     = {0x7014,0xA260}; 
  1325. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1326. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1327.     = {0x7014,0xA660}; 
  1328. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1329. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1330. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1331.     = {0x7016,0xA260}; 
  1332. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1333. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1334.     = {0x7016,0xA660}; 
  1335. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1336. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1337. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1338.     = {0x7015,0xA260}; 
  1339. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1340. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1341.     = {0x7015,0xA660}; 
  1342. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1343. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1344. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1345.     = {0x7060,0xA260}; 
  1346. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1347. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1348.     = {0x7060,0xA660}; 
  1349. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1350. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1351. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  1352.     = {0x7061,0xA260}; 
  1353. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  1354. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1355.     = {0x7061,0xA660}; 
  1356. /*  Desktop Manager  */
  1357. #pragma parameter __D0 PBDTGetPath(__A0)
  1358. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  1359.     = {0x7020,0xA260}; 
  1360. #pragma parameter __D0 PBDTCloseDown(__A0)
  1361. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  1362.     = {0x7021,0xA260}; 
  1363. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  1364. #pragma parameter __D0 PBDTAddIconSync(__A0)
  1365. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  1366.     = {0x7022,0xA260}; 
  1367. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  1368. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  1369.     = {0x7022,0xA660}; 
  1370. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  1371. #pragma parameter __D0 PBDTGetIconSync(__A0)
  1372. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  1373.     = {0x7023,0xA260}; 
  1374. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  1375. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  1376.     = {0x7023,0xA660}; 
  1377. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  1378. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  1379. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  1380.     = {0x7024,0xA260}; 
  1381. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  1382. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  1383.     = {0x7024,0xA660}; 
  1384. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  1385. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  1386. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  1387.     = {0x7025,0xA260}; 
  1388. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  1389. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  1390.     = {0x7025,0xA660}; 
  1391. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  1392. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  1393. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  1394.     = {0x7026,0xA260}; 
  1395. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  1396. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  1397.     = {0x7026,0xA660}; 
  1398. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  1399. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  1400. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  1401.     = {0x7027,0xA260}; 
  1402. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  1403. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  1404.     = {0x7027,0xA660}; 
  1405. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  1406. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  1407. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  1408.     = {0x7028,0xA260}; 
  1409. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  1410. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  1411.     = {0x7028,0xA660}; 
  1412. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  1413. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  1414. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  1415.     = {0x7029,0xA260}; 
  1416. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  1417. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  1418.     = {0x7029,0xA660}; 
  1419. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  1420. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  1421. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  1422.     = {0x702A,0xA260}; 
  1423. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  1424. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  1425.     = {0x702A,0xA660}; 
  1426. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  1427. #pragma parameter __D0 PBDTFlushSync(__A0)
  1428. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  1429.     = {0x702B,0xA260}; 
  1430. #pragma parameter __D0 PBDTFlushAsync(__A0)
  1431. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  1432.     = {0x702B,0xA660}; 
  1433. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  1434. #pragma parameter __D0 PBDTResetSync(__A0)
  1435. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  1436.     = {0x702C,0xA260}; 
  1437. #pragma parameter __D0 PBDTResetAsync(__A0)
  1438. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  1439.     = {0x702C,0xA660}; 
  1440. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  1441. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  1442. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  1443.     = {0x702D,0xA260}; 
  1444. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  1445. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  1446.     = {0x702D,0xA660}; 
  1447. #pragma parameter __D0 PBDTOpenInform(__A0)
  1448. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  1449.     = {0x702E,0xA060}; 
  1450. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  1451. #pragma parameter __D0 PBDTDeleteSync(__A0)
  1452. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  1453.     = {0x702F,0xA060}; 
  1454. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  1455. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  1456.     = {0x702F,0xA460}; 
  1457. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  1458. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  1459.     = {0x703F,0xA260}; 
  1460. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  1461. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  1462.     = {0x7040,0xA260}; 
  1463. #pragma parameter __D0 PBVolumeMount(__A0)
  1464. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  1465.     = {0x7041,0xA260}; 
  1466. /*  FSSpec Glue  */
  1467. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  1468.     FSSpecPtr spec)
  1469.     = {0x303C,0x0001,0xAA52}; 
  1470. pascal OSErr FSpOpenDF(const FSSpec *spec,char permission,short *refNum)
  1471.     = {0x303C,0x0002,0xAA52}; 
  1472. pascal OSErr FSpOpenRF(const FSSpec  *spec,char permission,short *refNum)
  1473.     = {0x303C,0x0003,0xAA52}; 
  1474. pascal OSErr FSpCreate(const FSSpec  *spec,OSType creator,OSType fileType,
  1475.     ScriptCode scriptTag)
  1476.     = {0x303C,0x0004,0xAA52}; 
  1477. pascal OSErr FSpDirCreate(const FSSpec *spec,ScriptCode scriptTag,long *createdDirID)
  1478.     = {0x303C,0x0005,0xAA52}; 
  1479. pascal OSErr FSpDelete(const FSSpec *spec)
  1480.     = {0x303C,0x0006,0xAA52}; 
  1481. pascal OSErr FSpGetFInfo(const FSSpec *spec,FInfo *fndrInfo)
  1482.     = {0x303C,0x0007,0xAA52}; 
  1483. pascal OSErr FSpSetFInfo(const FSSpec *spec,const FInfo *fndrInfo)
  1484.     = {0x303C,0x0008,0xAA52}; 
  1485. pascal OSErr FSpSetFLock(const FSSpec *spec)
  1486.     = {0x303C,0x0009,0xAA52}; 
  1487. pascal OSErr FSpRstFLock(const FSSpec *spec)
  1488.     = {0x303C,0x000A,0xAA52}; 
  1489. pascal OSErr FSpRename(const FSSpec *spec,ConstStr255Param newName)
  1490.     = {0x303C,0x000B,0xAA52}; 
  1491. pascal OSErr FSpCatMove(const FSSpec *source,const FSSpec *dest)
  1492.     = {0x303C,0x000C,0xAA52}; 
  1493. pascal OSErr FSpExchangeFiles(const FSSpec *source,const FSSpec *dest)
  1494.     = {0x303C,0x000F,0xAA52}; 
  1495. /* Obsoolete names for PBGetForeignPrivs and PBSetForeignPrivs */
  1496. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1497. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  1498. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  1499.     = {0x7060,0xA060}; 
  1500. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  1501. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  1502.     = {0x7060,0xA460}; 
  1503. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1504. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  1505. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  1506.     = {0x7061,0xA060}; 
  1507. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  1508. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  1509.     = {0x7061,0xA460}; 
  1510. #ifdef __cplusplus
  1511. }
  1512. #endif
  1513.  
  1514. #endif
  1515.